import matplotlib.pyplot as plt
# 导入中文字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 使用黑体
# 解决负号 '-' 显示为方块的问题
plt.rcParams['axes.unicode_minus'] = False
# 定义数据
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]

# 创建图表
plt.plot(x, y, label='xxx数据', color='red', marker='o', linestyle='--', linewidth=2)

# 自定义图例的样式
# edgecolor='red'：将图例的边框设置为红色。
# framealpha=0.5：将图例的背景设置为半透明，值越接近 1，透明度越低。
plt.legend(loc='upper left', fontsize=12, frameon=True, edgecolor='red', framealpha=0.5)

# 添加网格线，并设置样式
# plt.grid(True)：开启网格线，True 表示显示网格线。
# linestyle：设置网格线的线型，例如虚线 '--'
# color：设置网格线的颜色。
# alpha：设置网格线的透明度，值为 0 到 1，越接近 1 越不透明。
# axis='x' 或 axis='y' 可以单独设置网格线,
plt.grid(True, linestyle='--', color='grey', alpha=0.7)

# 设置主刻度和次刻度
plt.minorticks_on()  # 打开次刻度
plt.grid(which='major', linestyle='-.', linewidth='0.5', color='black')  # 主刻度网格线
plt.grid(which='minor', linestyle=':', linewidth='0.5', color='grey')   # 次刻度网格线

# 自定义 X 轴和 Y 轴的刻度
plt.xticks([0, 1, 2, 3, 4, 5, 6], ['零', '一', '二', '三', '四', '五', '六'])  # 自定义 X 轴刻度为中文
plt.yticks([0, 5, 10, 15, 20, 25, 30], ['0', '5', '10', '15', '20', '25', '30'])

# 自定义标题和坐标轴标签的样式
plt.title('自定义标题', fontsize=20, fontweight='bold', color='purple')
plt.xlabel('自定义 X 轴标签', fontsize=14, fontstyle='italic', color='blue')
plt.ylabel('自定义 Y 轴标签', fontsize=14, fontstyle='italic', color='red')

# 显示图表
plt.show()
